package com.pan.reader;

import lombok.extern.slf4j.Slf4j;

import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.List;

/**
 * 使用Files类将文件的所有内容读入字节数组。
 * Files类还有一个方法可以读取所有行到字符串列表。
 * Files类是在Java7中引入的，如果想加载所有文件内容，使用这个类是比较适合的。
 * 只有在处理小文件并且需要加载所有文件内容到内存中时才应使用此方法。
 *
 */
@Slf4j
public class TxtFilesReader implements TxtReader {

    @Override
    public List<String> readFile(String filePath) throws IOException {

        Path path = Paths.get(filePath);
        List<String> allLines = Files.readAllLines(path, StandardCharsets.UTF_8);
        return allLines;
    }
}
